using SmartLink.Domain.Entity;
using SmartLink.Domain.ExpandEntity;
using SmartLink.Domain.ExpandEntity.Base;
using SmartLink.DTOS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartLink.Domain.IServices
{
    public interface IRoleServices
    {
        OperationResult AddRole(PER_RoleGroup role);
        OperationResult DeleteRole(int id);
        PER_RoleGroup GetRole(int roleId);
        IList<PER_RoleGroup> GetRoleListByOID(int OID);
        IEnumerable<PER_RoleGroupExpand> GetRolePaged(bool? enabled, string keyWord, Pagination pagination);
        OperationResult UpdateRole(PER_RoleGroup role);
        void AllotRolesToUser(int userId, IList<int> roleIds);
    }
}
